package partFour;

import org.junit.Test;

import java.util.Calendar;

/*本类用于练习日历类*/
public class TestCalendar {
    @Test
    public void TestGet(){
        //1.获取日历对象
        Calendar c = Calendar.getInstance();
        System.out.println(c);//能获取很多信息，比如MONTH=8，我们现在是9月，说明月份是从0开始的
        //2.通过获取到的日历对象，调用get(),传入对应的日历字段，就可以拿到对应的值
        int year = c.get(Calendar.YEAR);
        int month = c.get(Calendar.MONTH)+1;
        int day = c.get(Calendar.DAY_OF_MONTH);
        System.out.println(year + "年" + month + "月" + day + "日");//2021年9月24日
    }
    @Test
    public void TestAdd1(){
        //1.获取日历对象
        Calendar c = Calendar.getInstance();
        //2.给指定的日历字段进行指定数目的加减操作，得到10年后的今天
        c.add(Calendar.YEAR,+10);

        //3.通过获取到的日历对象，调用get(),传入对应的日历字段，就可以拿到对应的值
        int year = c.get(Calendar.YEAR);
        int month = c.get(Calendar.MONTH)+1;
        int day = c.get(Calendar.DAY_OF_MONTH);
        //4.打印的就是10年后的今天：2031年9月24日
        System.out.println(year + "年" + month + "月" + day + "日");
    }

    @Test
    public void TestAdd2(){//需求：打印1年后的7天后
        //1.获取日历对象
        Calendar c = Calendar.getInstance();
        //2.给指定的日历字段进行指定数目的加减操作，得到10年后的今天
        c.add(Calendar.YEAR,+1);
        c.add(Calendar.DAY_OF_MONTH,+7);

        //3.通过获取到的日历对象，调用get(),传入对应的日历字段，就可以拿到对应的值
        int year = c.get(Calendar.YEAR);
        int month = c.get(Calendar.MONTH)+1;
        int day = c.get(Calendar.DAY_OF_MONTH);
        //4.打印1年后的7天后：2022年10月1日
        System.out.println(year + "年" + month + "月" + day + "日");
    }

    @Test
    public void TestSet(){
        //1.获取日历对象
        Calendar c = Calendar.getInstance();
        //2.测试set方法
        c.set(2099,9,1);
        //3.通过获取到的日历对象，调用get(),传入对应的日历字段，就可以拿到对应的值
        int year = c.get(Calendar.YEAR);
        int month = c.get(Calendar.MONTH)+1;
        int day = c.get(Calendar.DAY_OF_MONTH);
        //4.打印：2099年10月1日
        System.out.println(year + "年" + month + "月" + day + "日");
    }
}